package com.bugstack.springframework.beans;

import java.util.ArrayList;
import java.util.List;

public class PropertyValues {


    /**
     * 关键字 final 表示这个引用一旦初始化之后不能再指向其他的对象，但是列表本身的内容是可以改变的。
     */
    private final List<PropertyValue> propertyValueList = new ArrayList<>();//定义一个列表存储PropertyValue对象


    public void addPropertyValue(PropertyValue pv){//怎加一个方法添加PropertyValue对象
        this.propertyValueList.add(pv);
    }

    public PropertyValue [] getPropertyValues(){//获取所有属性值方法
        return this.propertyValueList.toArray(new PropertyValue[0]);//当传递一个长度为零的数组（new PropertyValue[0]）时，toArray 方法会创建一个与列表大小相同的新数组，并将列表中的元素复制到这个新数组中，然后返回这个新数组。
    }

    public PropertyValue getPropertyValue(String propertyName){//定义一个根据属性名获取属性值的方法
        for (PropertyValue propertyValue : this.propertyValueList) {
            if(propertyValue.getName().equals(propertyName)){
                return propertyValue;
            }
        }
        return null;
    }
}
